package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 原材出库对象 a_outbound
 *
 */
public class AOutbound extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 组织ID */
    @Excel(name = "组织ID")
    private String groupId;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String documentNumber;

    /** 生产工单 */
    @Excel(name = "生产工单")
    private String productionOrder;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String partNumber;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 物料规格 */
    @Excel(name = "物料规格")
    private String itemSpecifications;

    /** 实际数量 */
    @Excel(name = "实际数量")
    private String actualQuantity;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 存储位置 */
    @Excel(name = "存储位置")
    private String storageLocation;

    /** 确认日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmationDate;

    /** 业务日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "业务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date businessDate;

    /** 单据类型 */
    @Excel(name = "单据类型")
    private String documentType;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 批次号 */
    @Excel(name = "批次号")
    private String batchNumber;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dispatchTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setGroupId(String groupId)
    {
        this.groupId = groupId;
    }

    public String getGroupId()
    {
        return groupId;
    }
    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }
    public void setProductionOrder(String productionOrder) 
    {
        this.productionOrder = productionOrder;
    }

    public String getProductionOrder() 
    {
        return productionOrder;
    }
    public void setBusinessType(String businessType) 
    {
        this.businessType = businessType;
    }

    public String getBusinessType() 
    {
        return businessType;
    }
    public void setPartNumber(String partNumber) 
    {
        this.partNumber = partNumber;
    }

    public String getPartNumber() 
    {
        return partNumber;
    }
    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }
    public void setItemSpecifications(String itemSpecifications) 
    {
        this.itemSpecifications = itemSpecifications;
    }

    public String getItemSpecifications() 
    {
        return itemSpecifications;
    }
    public void setActualQuantity(String actualQuantity) 
    {
        this.actualQuantity = actualQuantity;
    }

    public String getActualQuantity() 
    {
        return actualQuantity;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setStorageLocation(String storageLocation) 
    {
        this.storageLocation = storageLocation;
    }

    public String getStorageLocation() 
    {
        return storageLocation;
    }
    public void setConfirmationDate(Date confirmationDate) 
    {
        this.confirmationDate = confirmationDate;
    }

    public Date getConfirmationDate() 
    {
        return confirmationDate;
    }
    public void setBusinessDate(Date businessDate) 
    {
        this.businessDate = businessDate;
    }

    public Date getBusinessDate() 
    {
        return businessDate;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setBatchNumber(String batchNumber) 
    {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber() 
    {
        return batchNumber;
    }
    public void setDispatchTime(Date dispatchTime) 
    {
        this.dispatchTime = dispatchTime;
    }

    public Date getDispatchTime() 
    {
        return dispatchTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("groupId", getGroupId())
            .append("documentNumber", getDocumentNumber())
            .append("productionOrder", getProductionOrder())
            .append("businessType", getBusinessType())
            .append("partNumber", getPartNumber())
            .append("materialName", getMaterialName())
            .append("itemSpecifications", getItemSpecifications())
            .append("actualQuantity", getActualQuantity())
            .append("unit", getUnit())
            .append("storageLocation", getStorageLocation())
            .append("confirmationDate", getConfirmationDate())
            .append("businessDate", getBusinessDate())
            .append("documentType", getDocumentType())
            .append("creator", getCreator())
            .append("batchNumber", getBatchNumber())
            .append("dispatchTime", getDispatchTime())
            .toString();
    }
}
